package com.iscas.tech.service;

import com.iscas.tech.entity.AtScideman;
import com.iscas.tech.param.PageParam;
import com.iscas.tech.vo.AtScidemanQueryVo;
import com.iscas.tech.vo.MdWithTechNeeds;
import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.pagination.Paging;

/**
 * 科技需求表 服务类
 *
 * @author yangyi
 * @since 2020-10-26
 */
public interface AtScidemanService extends BaseService<AtScideman> {

    /**
     * 新增科技需求
     *
     * @param param 科技需求信息
     * @return 成功与否
     * @throws Exception 新增失败
     */
    boolean saveAtScideman(MdWithTechNeeds param) throws Exception;

    /**
     * @param param 科技需求详情
     * @return 修改结果
     * @throws Exception 修改异常
     */
    boolean updateTechNeeds(MdWithTechNeeds param) throws Exception;

    /**
     * @param ids 科技需求ID字符串，以","分隔
     * @return 删除科技需求
     * @throws Exception 删除异常
     */
    boolean deleteTechNeeds(String ids) throws Exception;


    /**
     * @param pageParam 分页参数
     * @param audit     审核状态（0-未审核 | 1-已审核）
     * @return 分页获取科技需求列表
     * @throws Exception 查询异常
     */
    Paging<AtScidemanQueryVo> getTechNeedsPageList(PageParam pageParam, Integer audit) throws Exception;

    /**
     * 获取科技需求详情
     *
     * @param id 科技需求ID
     * @return 科技需求详情
     */
    AtScidemanQueryVo get(Long id);

    /**
     * @param id 科技需求主键ID
     * @return 审核科技需求
     */
    Boolean checkTechNeeds(Long id) throws Exception;
}
